package jdkrel._regular_expression;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @Author: huangya
 * @Date: 2019/9/25
 * @Description:
 *
 * \\ba\\w*\\b表示匹配以字母a为开头的单词。
 * Pattern.compile(regex)表示将给定的正则表达式编译到具有给定标志的模式中。
 * matcher(str)创建匹配给定输入与此模式的匹配器。
 * mather.find()尝试查找与该模式匹配的输入序列的下一个子序列。
 * 此方法从匹配器区域的开头开始，如果该方法的前一次调用成功了并且从那时开始匹配器没有被重置，则从以前匹配操作没有匹配的第一个字符开始。
 * 如果匹配成功，则可以通过 start、end 和 group 方法获取更多信息。
 * group() 返回由以前匹配操作所匹配的输入子序列。
 * 打印结果：
 * 0:abcdab
 * 1:aaacd
 */
public class Test000 {

    public static void main(String[] args) {
        Pattern pattern = Pattern.compile("\\ba\\w*\\b");
        Matcher matcher = pattern.matcher("abcdab cccabcd aaacd");
        int index = 0;
        while (matcher.find()) {
            String res = matcher.group();
            System.out.println(index + ":" + res);
            System.out.println(matcher.start());
            System.out.println(matcher.end());
            index++;
        }
    }

}
